public class DateUntil {
    // 成员变量
    public int year;
    public int month;
    public int day;
    ///成员方法
    public DateUntil(){
        this(1999,9,9);//使用this简化构造方法——它调用了那个含参数的构造方法来对对象传参
        //this表示调用该对象的其他构造方法
        System.out.println("旨在证明实例化对象时会调用该”构造体“方法");
    }

    public static void main(String[] args) {
        DateUntil dateUntil = new DateUntil();//这里调用了一个不含参数的构造方法
        dateUntil.show();
    }
    public DateUntil(int year,int month,int day){//在构造方法中给对象传参
        this.year = year;
        this.month = month;
        this.day = day;
    }
    //此处有两个构造方法，出现重载。根据对象的情况调用不同方法：如day1调用含参数的方法，而不含参数的day2调用另一个方法
    public static void main2(String[] args) {
//        DateUntil day1 = new DateUntil(2000,12,12);
        DateUntil day2 = new DateUntil();
//        day1.show();
    }
    public void setDate(int year,int month,int day){
        this.year = year;
        this.month = month;
        this.day = day;
    }
    public void show(){
        System.out.println("年:" + this.year + " 月：" + this.month + " 日：" + this.day);
    }
    //////////

    public static void main1(String[] args) {
        DateUntil day1 = new DateUntil();
        day1.setDate(2001,11,14);//调用day1中的方法setDate来对对象初始化
        day1.show();
    }
}
